交易履约之结算平台实践
Tech导读
京东科技业务在快速发展的同时,产生了众多线上化资金结算的需求。传统的线下资金结算模式有着人力成本高、耗时长、多方沟通协调成本高、结算准确率低等固有缺点,且无法满足“风法财审”对于资金流程的管控要求,在此背景下金道结算平台孕育而生。本文从系统建设的背景、设计细节、已支撑案例及适用业务场景多个层面进行详细阐述。读者可以关注文中所讲的系统实践过程,进而对结算领域系统设计能力提升,具有一定的参考价值。
导读
京东科技业务在快速发展的同时,产生了众多线上化资金结算的需求。传统的线下资金结算模式有着人力成本高、耗时长、多方沟通协调成本高、结算准确率低等固有缺点,且无法满足“风法财审”对于资金流程的管控要求,在此背景下金道结算平台孕育而生。本文从系统建设的背景、设计细节、已支撑案例及适用业务场景多个层面进行详细阐述。读者可以关注文中所讲的系统实践过程,进而对结算领域系统设计能力提升,具有一定的参考价值。01 概述
在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?由此我的Runner探索之旅开始了!
1.1 背景
业务在快速发展的同时,产生了众多线上化资金结算的需求。传统的线下资金结算模式有着人力成本高、耗时长、多方沟通协调成本高、结算准确率低等固有缺点,且无法满足“风法财审”对于资金流程的管控要求。金道结算平台应运而生,专注于内部中心化流量场外的、通过外部场或搭建撮合平台进行获客、转化的场景,支撑业务方面向客户、合作伙伴、经销商、供应商等多利益相关方,实现快速、专业、高效、准确的线上化计费结算解决方案提供和能力支持。金道结算平台对接各垂直业务系统,实时同步业务的交易数据,并经过标准的结算流程(数据标准化预处理,清分,计费,分摊,结算单生成、运营确认等),最终通过财务渠道或其他支付渠道完成资金结算,有效降低了各业务系统结算成本的投入,提升业务资金流转的健康度,为业务的快速增长赋能。
1.2 痛点
1.3 定位
金道结算平台深耕业务场景,打通平台接口,支持跨平台结算,是业财一体化的桥梁,为平台型交易及全域营销赋能。
图1 平台定位
1.4 优势
4. 成本降低:提高运营效率,节省成本。
02 系统架构介绍
理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的结构,转换完成后将通过表达式引擎解析表达式并取得正确的值,通过事件解析引擎解析用户自定义事件并完成事件的绑定,完成解析赋值以及事件绑定后进行视图的渲染,最终将目标页面展示到屏幕。从设计稿出发,提升页面搭建效率,亟需解决的核心问题有:
2.1 名词解释
名词 | 解释 |
清分 | 清分是在清算前对数据标准化处理阶段。在本文中,清分指的是对交易明细数据的核对、识别、调整及打标操作。 |
清算 | 清算是标准化数据的计算及核对过程,本文清算主要完成标准化数据的核对、计费及分摊处理。 |
结算 | 结算是汇总账单,并完成资金最终转移的过程。本文中的结算指的是对清算明细数据,以不同的维度生成结算单并确认,最终通过财务系统完成收付款的整个过程。 |
计费 | 本文中指:单据数据按一定计算规则,生成的结果金额及过程金额。 |
分摊 | 本文中指:费用存在多个承担方,在清算过程中,会把计费的结果金额,再次按分摊的规则划分到各方。 |
累额 | 本文中指:累额服务于分摊动作,具体过程 为分摊规则中配置了每个承担方最大的承担上限,那么在计费后需要分摊时,需要参考承担方已累加金额是否到了上限,如果到了上限,则此方不进行分摊金额,否则正常累加本次金额。 |
冲正 | 本文中指:同一单据重新计费、分摊时,需要把此单据在原累加总额值减去,再累加上本次金额。 |
重置 | 本文中指:顺序清算场景时,业务线需要在历史的某个单据向后重新清算时,累额中需要把总额回退到此单据清算时累加的总额快照,并标识累额流水中哪些是效数据。 |
表1 名词解释
2.2 服务域设计
图2 服务域划分
2.3 整体架构图
图3 整体架构图
2.4 典型问题技术设计
2.4.2 顺序清算
背景
某些业务系统要求以业务发生的流水,按顺序做计算、分摊及累额,为了解决这个场景,特设计以下通用的处理流程。
实现过程
第一步:数据接入在中间表中,按业务时间排序,然后打上唯一流水号(流水号自增特点):
图5 打标流水号
图6 预清算处理流程
原理:
不需要按顺序处理的单据数据,直接发送了待清算MQ主题 中,需要按顺序清算单据,进入主流程。
挑战:
1. 分片存储情况下业务数据明细百万级排序;
2. 顺序处理如何保证处理效率;
3. 顺序清算异常情况,如何断点继续处理。
实现核心点:
原始快照表打标顺序流水号,利用分片任务组件,拉取数据后放在zset中进行排序,全部放入后,触发顺序清算流程。为应对大促销日,可以在业务能容忍的范围中,开放并发清算(并发数据之间不保证顺序),要成功整体成功,要失败整体失败。
2.4.3 累额重置
背景
按顺序计费、分摊及累额场景,当业务人员需要回退到历史某个时间的单据重新顺序清算时,就需要从累额明细中重置到将要执行单据的位点(也就是累加的总额回退回去,并在流水中标识出哪些是无效数据)。
实现原理
图7 累额重置实现原理
03 系统功能介绍
理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的结构,转换完成后将通过表达式引擎解析表达式并取得正确的值,通过事件解析引擎解析用户自定义事件并完成事件的绑定,完成解析赋值以及事件绑定后进行视图的渲染,最终将目标页面展示到屏幕。从设计稿出发,提升页面搭建效率,亟需解决的核心问题有:
3.1 结算流程
3.2 主要配置
3.2.1结算模型
1. 基本信息
图9 基本信息
2. 规则信息
图10 规则信息
本平台支持基于预算的分摊配置能力,适合成本分摊型结算。目前我们支持分摊方式有按比例、按顺序及按固定金额,支持两级分摊,具备了大部分业务应用场景支撑能力。
04 业务支持案例
理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的结构,转换完成后将通过表达式引擎解析表达式并取得正确的值,通过事件解析引擎解析用户自定义事件并完成事件的绑定,完成解析赋值以及事件绑定后进行视图的渲染,最终将目标页面展示到屏幕。
4.1 微电业务
图13 微电业务
4.2 白条业务
图14 白条业务
4.3 支付业务
05 总结
理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的结构,转换完成后将通过表达式引擎解析表达式并取得正确的值,通过事件解析引擎解析用户自定义事件并完成事件的绑定,完成解析赋值以及事件绑定后进行视图的渲染,最终将目标页面展示到屏幕。
合作平台 | 产品 | 费用项 | 业务模式-分类 | 业务模式-内容 |
微电增长 | 金条 | 交易佣金 企微加粉 工资计算 返佣奖励 计时话费 计件凭证费 | 分佣结算 | 开展业务时,需要进行佣金结算(交易分佣、代理费用等) |
白条 | 业绩考核结算 | 对个人进行考核,按工时、工作量考核进行结算 | ||
基金 | ||||
股票 | ||||
小金保 | ||||
保险理财 | ||||
延保 | ||||
保险 | ||||
开放平台 | 企业认证 | 套餐费用 逐笔费用 接入费用 | ||
OCR | ||||
区块链存证 | 技术服务结算 | 业务提供各类技术服务,需要对技术服务费用进行结算 | ||
商家中心 | 白条 | 白条息费 支付营销费 小贷营销费 积分减免 | ||
支付 | ||||
小贷 | ||||
积分 | 商品营销结算 | 商品进行营销,需要对营销费用进行结算 |
4种模式覆盖目前所有场景,随着接入业务场景的扩展,模式可再增加。
测试角色在项目各阶段的项目管理tips
会员权益核心引擎ZCube原理与实践
数据驱动测试-从方法探研到最佳实践
求分享
求点赞
求在看